/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.shape;

import tk.eigh.ksvg.component.painting._FillProperties;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
import ksvg.core.SVGShape;

/**
 *
 * @author nt
 */
@JSFComponent(name = "svg:Ellipse",
type = "tk.eigh.svg.Ellipse",
family = "shape.Ellipse",
clazz = "ksvg.shape.Ellipse",
tagClass = "ksvg.tags.EllipseTag",
defaultRendererType = "SVGEllipseRenderer",
desc = "The ‘ellipse’ element defines an ellipse which is axis-aligned with the current user coordinate system based on a center point and two radii.")
public abstract class AbstractEllipse extends SVGShape implements _FillProperties {

    /**
     * cx = "&lt;coordinate&gt;" The x-axis coordinate of the center of the ellipse.
     * If the attribute is not specified, the effect is as if a value of "0"
     * were specified.
     */
    @JSFProperty(required = true)
    public abstract Integer getCx();

    /**
     * cy = "&lt;coordinate&gt;"
     *<br/>
     * The y-axis coordinate of the center of the ellipse. If the attribute is
     * not specified, the effect is as if a value of "0" were specified.
     *<br/>
     * Animatable: yes.
     */
    @JSFProperty(required = true)
    public abstract Integer getCy();

    /**
     * rx = "&lt;length&gt;"
     *<br/>
     * The x-axis radius of the ellipse. A negative value is an error. A value
     * of zero disables rendering of the element.
     *<br/>
     * Animatable: yes.
     */
    @JSFProperty(required = true)
    public abstract Integer getRx();

    /**
     * ry = "&lt;length&gt;"
     *<br/>
     * The y-axis radius of the ellipse. A negative value is an error. A value
     * of zero disables rendering of the element.
     *<br/>
     * Animatable: yes.
     */
    @JSFProperty(required = true)
    public abstract Integer getRy();
}